package com.nbsaas.boot.app.api.domain.request;

import com.nbsaas.boot.rest.filter.Operator;
import com.nbsaas.boot.rest.filter.Search;
import com.nbsaas.boot.rest.request.PageRequest;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;

/**
 * 菜单-搜索bean
 */
@Getter
@Setter
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AppMenuSearch extends PageRequest implements Serializable {

    /**
     * 序列化参数
     */
    private static final long serialVersionUID = 1L;

    /**
     * 应用
     **/
    @Search(name = "app.id", operator = Operator.eq)
    private Long app;
    /**
     * 编码
     **/
    @Search(name = "code", operator = Operator.like)
    private String code;
    /**
     * 深度
     **/
    @Search(name = "depth", operator = Operator.eq)
    private Integer depth;
    /**
     * 搜索类型 1可以搜索 2不可搜索
     **/
    @Search(name = "searchType", operator = Operator.eq)
    private Integer searchType;
    /**
     * 菜单类型 1菜单 2按钮 3权限
     **/
    @Search(name = "catalog", operator = Operator.eq)
    private Integer catalog;
    /**
     * 名称
     **/
    @Search(name = "name", operator = Operator.like)
    private String name;
    /**
     * 菜单类型 1系统 2租户
     **/
    @Search(name = "menuType", operator = Operator.eq)
    private Integer menuType;
    /**
     * 应用key
     **/
    @Search(name = "app.appKey", operator = Operator.eq)
    private String appKey;
    /**
     * 父菜单id
     **/
    @Search(name = "parent.id", operator = Operator.eq)
    private Long parentId;


    private int fetch;

}